On the Process of Software Design: Sources of Complexity and Reasons for Muddling through
نویسنده
چکیده
Software design is a complex undertaking. This study delineates and analyses three major constituents of this complexity: the formative element entailed in articulating and reaching closure on a design, the progress imperative entailed in making estimates and tracking status, and the collaboration challenge entailed in learning within and across projects. Empirical data from two small to medium-size projects illustrate how practicing software designers struggle with the complexity induced by these constituents and suggest implications for user-centred design. These implications concern collaborative grounding, long-loop learning, and the need for a more managed design process while acknowledging that methods are not an alternative to the project knowledge created, negotiated, and refined by designers. Specifically, insufficient collaborative grounding will cause project knowledge to gradually disintegrate, but the activities required to avoid this may be costly in terms of scarce resources such as the time of key designers.
منابع مشابه
A method for identifying software components based on Non-dominated Sorting Genetic Algorithm
Identifying the appropriate software components in the software design phase is a vital task in the field of software engineering and is considered as an important way to increase the software maintenance capability. Nowadays, many methods for identifying components such as graph partitioning and clustering are presented, but most of these methods are based on expert opinion and have poor accur...
متن کاملA Quantitative Evaluation of Maintainability of Software Architecture Styles
Proper decisions play a crucial role in any software architecture design process. An important decision of design stage is the selection of a suitable software architecture style. Lack of investigation on the quantitative impact of architecture styles on software quality attributes is the main problem in using such styles. Consequently, the use of architecture styles in designing is based on th...
متن کاملMeasurement of Complexity and Comprehension of a Program Through a Cognitive Approach
The inherent complexity of the software systems creates problems in the software engineering industry. Numerous techniques have been designed to comprehend the fundamental characteristics of software systems. To understand the software, it is necessary to know about the complexity level of the source code. Cognitive informatics perform an important role for better understanding the complexity o...
متن کاملExclusionary Decision Making in Tehran Metropolitan Region- Complexity, Self organization and Power of Action
Viewing urban areas as webs of complex, interwoven networks, this article aims to analyze the decision-making process and its outcomes in Tehran metropolitan region. To do so, first the theoretical basis of complexity in urban life and its implications for planning have been reviewed. Using the main notion of power of action i.e. agency, and through creating the network of actors and their rela...
متن کاملA Review on the Extent of Urban Design Intervention in Iran’s Architectural Structures for Interaction with Architectural Innovation
The intervention of urban design in Irans architectural structures has been for many years a challenging issue for architects and urban designers over their professional realm. The preservation of architectural structures in Iran has always resorted to extremes. This control and direction has sometimes resulted in exclusion of architecture position and has sometimes, once faced with lack of pro...
متن کامل